package fi.helsinki.cs.ohtu10k.view;

import org.joda.time.Duration;

/**
 * Class with constants used in graphical user interface.
 * @author Thomas Nyman
 *
 */
public class Constants {
	
	static final int ONE_HOUR_IN_MILLISECONDS = 3600000;
	static final int ONE_MINUTE_IN_MILLISECONDS = 60000;
	
	static final Duration ZERO_DURATION = new Duration(0); 
	
	static final Integer[] HOURS = Util.arrayFill(ApplicationWindow.STARTING_HOUR, ApplicationWindow.STARTING_HOUR + ApplicationWindow.HOUR_COUNT - 1); 
	static final Integer[] DURATIONS = Util.arrayFill(0, ApplicationWindow.HOUR_COUNT);
	
	static final String[] MINUTES = new String[] {"00",
												  "15",
												  "30",
												  "45"};
	
	static final String[] MONTHS = new String[] {"Tammikuu",
										   		 "Helmikuu",
										   		 "Maaliskuu",
										   		 "Huhtikuu",
										   		 "Toukokuu",
										   		 "Kesäkuu",
										   		 "Heinäkuu",
										   		 "Elokuu",
										   		 "Syyskuu",
										   		 "Lokakuu",
										   		 "Marraskuu",
										   		 "Joulukuu"};
	
	static final String[] WEEKDAYS = new String[] {"Maanantai", 
												   "Tiistai", 
												   "Keskiviikkoa", 
												   "Torstai",
												   "Perjantai",
												   "Lauantai",
												   "Sunnuntai"};
	
	static final String[] EVENT_TYPES = new String[] {"Luento", 
													  "Harjoitusryhmä",
													  "Tentti",
													  "Muu"};
	
	static final String LABEL_OK = "OK";
	static final String LABEL_CANCEL = "Peruuta";
	
	static final String LABEL_DATE_STARTING = "Alkupäivämäärä:";
	static final String LABEL_DATE_ENDING = "Loppupäivämäärä:";
	
	static final String LABEL_ADD_COURSE_TITLE = "Kurssin lisäys";
	static final String LABEL_ADD_COURSE = "Lisää kurssi";
	static final String LABEL_ADD_COURSE_NAME = "Kurssin nimi:";
	static final String LABEL_ADD_COURSE_ABBR = "Kurssin lyhenne:";
	
	static final String LABEL_ADD_EVENT_TITLE = "Tapahtuman lisäys";
	static final String LABEL_ADD_EVENT = "Lisää tapahtuma";
	static final String LABEL_ADD_EVENT_NO_COURSE = "Ei kurssia";
	static final String LABEL_ADD_EVENT_REPEATED = "Viikottain toistuva tapahtuma";
	static final String LABEL_ADD_EVENT_IMPORTANT = "Tärkeä tapahtuma";
	static final String LABEL_ADD_EVENT_REPEATING_WEEKDAY = "Toistuvan tapahtuman viikonpäivä:";
	static final String LABEL_ADD_EVENT_SINGLE_DATE = "Yksittäisen tapahtuman päivämäärä:";
	static final String LABEL_ADD_EVENT_COURSE = "Kurssi, johon tapahtuma liittyy:";
	static final String LABEL_ADD_EVENT_TYPE = "Tapahtuman tyyppi:";
	static final String LABEL_ADD_EVENT_TIME = "Tapahtuma alkaa klo:";
	static final String LABEL_ADD_EVENT_DURATION = "Tapahtuman kesto:";
	
	static final String LABEL_DELETE_COURSE_TITLE = "Kurssin poisto";
	static final String LABEL_DELETE_COURSE = "Poista kurssi";
	static final String LABEL_DELETE_COURSE_SELECT = "Valitse poistettava kurssi:";
	
	static final String LABEL_DELETE_EVENT_TITLE = "Tapahtuman poisto";
	static final String LABEL_DELETE_EVENT = "Poista Tapahtuma";
	static final String LABEL_DELETE_EVENT_SELECT = "Valitse poistettava tapahtuma:";
	
	static final String LABEL_ERROR = "Virhe!";
	static final String LABEL_ERROR_ENDDATE_BEFORE_STARTDATE = "Alkupäivämäärän oltava ennen loppupäivämäärää";
	static final String LABEL_ERROR_NO_COURSE_SELECTED = "Toistuvan tapahtuman tulee liittyä johonkin kurssiin.";
	static final String LABEL_ERROR_ZERO_DURATION = "Tapahtumalle ei ole asetettu kestoa.";
	static final String LABEL_ERROR_TIMESLOT_TAKEN = "Kyseisellä ajanhetkellä on jo tapahtuma.";
	static final String LABEL_ERROR_NO_COURSES = "Yhtään kurssia ei ole määritelty.";
	static final String LABEL_ERROR_NO_EVENTS = "Valitulla viikolla ei yhtään tapahtumaa.";
	
}
